/*
 * @Author: pengtianrui 2276608413@qq.com
 * @Date: 2024-08-26 16:03:59
 * @LastEditors: yuanchenxi 836909158@qq.com
 * @LastEditTime: 2025-02-10 09:27:40
 * @FilePath: \SGFEM\DataStructure\FEM\Load\include\PLOADData.h
 */
#pragma once
#include "DataStructure/Common/DataStructureExport.h"
#include "DataStructure/Common/DataStructureNamespace.h"
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"
#include "DataStructure/Common/SetBase.h"
#include "DataStructure/Input/Load/LoadTypes.h"

SG_DATASTRUCTURE_FEM_NAMESPACE_OPEN
struct DECLSPEC PLOADData : public SetBase
{
    SG::DataStructure::Common::Real m_P        = 0.0;    ///< 载荷值
    SG::DataStructure::Common::I64  m_G[4]     = { 0 };  ///< 节点Id
    SG::DataStructure::Common::Id   m_domainId = 0;
    static SG::DataStructure::FEM::LoadType GetType ()
    {
        return SG::DataStructure::FEM::LoadType::LOAD_PLOAD;
    };
};
using PLOADArray = std::vector<SG::DataStructure::FEM::PLOADData>;
DECLSPEC bool operator== (const PLOADData& a, const PLOADData& b);
SG_DATASTRUCTURE_FEM_NAMESPACE_CLOSE